-
Notifications
You must be signed in to change notification settings - Fork 75
feat(svm): remove enabled deposit route check #939
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Reinis Martinsons <[email protected]>
|
@Reinis-FRP can you target the march-evm-audit-universal-adapter branch pls? |
| #[account( | ||
| init_if_needed, | ||
| payer = payer, | ||
| payer = signer, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you did this to clean up as well? this file post PR still has some inconsistencies now, now?
| #[account(constraint = is_local_or_remote_owner(&signer, &state) @ SvmError::NotOwner)] | ||
| pub signer: Signer<'info>, | ||
|
|
||
| pub struct CreateVault<'info> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit confused by this change. Was the point of this PR not to just remove enable deposit route check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, alternative would be to remove SetEnableRoute altogether and let the operator create vault PDA manually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did end up deleting the instruction altogether in the last commit, since vault ATA can be created by anyone directly via associated token program.
Signed-off-by: Reinis Martinsons <[email protected]>
scripts/svm/createVault.ts
Outdated
| @@ -0,0 +1,66 @@ | |||
| // This script is used by a chain admin to create a vault for a token on the Solana Spoke Pool. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this can, in theory, be called by anyone other than just the admin, right? as we are simply creating a ATA for the spokepool PDA to store a given token?
Im thinking through the equivalent functionality we have on other chains now that we no longer have a deposit route check: in theory, someone else could call use this script (or otherwise) to create PDAs so that you can deposit and fill non-whitelisted tokens on behalf of the protocol, just like we can on other chains (by just depositing without using a verified token to a given spoke).
point being, this is not used by an admin, right? there is no special permissioning to create one of these vaults?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, anyone can create the vault. normally we expect admin to do this as that requires spending rent-exempt deposit on vault ATA creation. But any other user is free to do this if they want to deposit funds on a non-whitelisted token.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated the comment to reflect that
chrismaree
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks good to me! its simple and clean.
I have two open comments on naming but other than that this looks good!
Co-authored-by: Chris Maree <[email protected]>
Signed-off-by: Reinis Martinsons <[email protected]>
* feat(svm): remove enabled deposit route check (#939) * feat(svm): remove enabled deposit route check Signed-off-by: Reinis Martinsons <[email protected]> * fix: remove create_vault ix Signed-off-by: Reinis Martinsons <[email protected]> * Update scripts/svm/simpleDeposit.ts Co-authored-by: Chris Maree <[email protected]> * fix: update comment Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> Co-authored-by: Chris Maree <[email protected]> * feat(svm): test native sol deposits (#942) * feat(svm): test native sol deposits Signed-off-by: Reinis Martinsons <[email protected]> * fix: merge issues Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): pin rust toolchain for solana (#960) (#961) * fix(svm): pin rust toolchain for solana * fix: add local toolchain * fix: add rustfmt to nightly * fix: pin nightly in lint scripts --------- Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): M-01 Deposit Tokens Transferred from Depositor Token Account Instead of Signer (#971) * fix(svm): M-01 Deposit Tokens Transfers Signed-off-by: Pablo Maldonado <[email protected]> * feat: use unchecked account Signed-off-by: Pablo Maldonado <[email protected]> * feat: remove system acc Signed-off-by: Pablo Maldonado <[email protected]> * fix: deposit tests Signed-off-by: Pablo Maldonado <[email protected]> * fix: fill tests Signed-off-by: Pablo Maldonado <[email protected]> * refactor: rename and comments Signed-off-by: Pablo Maldonado <[email protected]> * fix: across plus Signed-off-by: Pablo Maldonado <[email protected]> * fix(svm): pin rust toolchain for solana (#960) * fix(svm): pin rust toolchain for solana Signed-off-by: Reinis Martinsons <[email protected]> * fix: add local toolchain Signed-off-by: Reinis Martinsons <[email protected]> * fix: add rustfmt to nightly Signed-off-by: Reinis Martinsons <[email protected]> * fix: pin nightly in lint scripts Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> * refactor: rename and organize function Signed-off-by: Pablo Maldonado <[email protected]> * feat: update deposit delegate seed Signed-off-by: Pablo Maldonado <[email protected]> * feat: use relay_hash from function arguments Signed-off-by: Pablo Maldonado <[email protected]> * fix: heap memory error Signed-off-by: Pablo Maldonado <[email protected]> * fix Signed-off-by: Pablo Maldonado <[email protected]> * refactor: cleanup Signed-off-by: Pablo Maldonado <[email protected]> * fix: deposit checks Signed-off-by: Pablo Maldonado <[email protected]> * fix: fill tests Signed-off-by: Pablo Maldonado <[email protected]> * fix: fill relay delagate Signed-off-by: Pablo Maldonado <[email protected]> * fix: fill Signed-off-by: Pablo Maldonado <[email protected]> * refactor: simplify Signed-off-by: Pablo Maldonado <[email protected]> * refactor: cleanup Signed-off-by: Pablo Maldonado <[email protected]> * test: update fill tests Signed-off-by: Pablo Maldonado <[email protected]> * refactor: comments Signed-off-by: Pablo Maldonado <[email protected]> * fix: scripts Signed-off-by: Pablo Maldonado <[email protected]> * refactor: make seed structs private Signed-off-by: Pablo Maldonado <[email protected]> * feat: add missing params to deposit hashes Signed-off-by: Pablo Maldonado <[email protected]> * refactor: simplify Signed-off-by: Pablo Maldonado <[email protected]> * refactor: delegate utils Signed-off-by: Pablo Maldonado <[email protected]> * refactor: anchor serialize Signed-off-by: Pablo Maldonado <[email protected]> * refactor: reuse helper deriveSeedHash Signed-off-by: Pablo Maldonado <[email protected]> * fix: move paused fills check in handler Signed-off-by: Reinis Martinsons <[email protected]> * feat: improvements Signed-off-by: Pablo Maldonado <[email protected]> * fix: remove program_id from transfer_from params Signed-off-by: Reinis Martinsons <[email protected]> * fix: fill import Signed-off-by: Pablo Maldonado <[email protected]> * fix: tests Signed-off-by: Pablo Maldonado <[email protected]> --------- Signed-off-by: Pablo Maldonado <[email protected]> Signed-off-by: Reinis Martinsons <[email protected]> Signed-off-by: Pablo Maldonado <[email protected]> Co-authored-by: Reinis Martinsons <[email protected]> Co-authored-by: Reinis Martinsons <[email protected]> * fix(svm): N-01 remove v3 from remaining functions and comments (#964) Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): L-01 create new vault on deposit if needed (#957) * fix(svm): L-01 create new vault on deposit if needed Signed-off-by: Reinis Martinsons <[email protected]> * fix: use stable toolchain in ci Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): pin rust toolchain for solana (#960) * fix(svm): pin rust toolchain for solana Signed-off-by: Reinis Martinsons <[email protected]> * fix: add local toolchain Signed-off-by: Reinis Martinsons <[email protected]> * fix: add rustfmt to nightly Signed-off-by: Reinis Martinsons <[email protected]> * fix: pin nightly in lint scripts Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): N-02 clarify documentation (#963) Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): N-03 use consistent variable names in the instruction constraint (#962) * fix(svm): pin rust toolchain for solana (#960) * fix(svm): pin rust toolchain for solana Signed-off-by: Reinis Martinsons <[email protected]> * fix: add local toolchain Signed-off-by: Reinis Martinsons <[email protected]> * fix: add rustfmt to nightly Signed-off-by: Reinis Martinsons <[email protected]> * fix: pin nightly in lint scripts Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> * fix(svm): N-03 use consistent variable names in the instruction constraint Signed-off-by: Reinis Martinsons <[email protected]> * fix: restore relay_hash naming in FillRelay context Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> * feat: update toolchain Signed-off-by: Pablo Maldonado <[email protected]> * feat: update toolchain bis Signed-off-by: Pablo Maldonado <[email protected]> * fix: delete old scripts Signed-off-by: Pablo Maldonado <[email protected]> * fix: across plus codama test Signed-off-by: Pablo Maldonado <[email protected]> * fix: fill test codama Signed-off-by: Pablo Maldonado <[email protected]> * feat: bump version Signed-off-by: Pablo Maldonado <[email protected]> * fix: bump version Signed-off-by: Reinis Martinsons <[email protected]> --------- Signed-off-by: Reinis Martinsons <[email protected]> Signed-off-by: Pablo Maldonado <[email protected]> Signed-off-by: Pablo Maldonado <[email protected]> Co-authored-by: Reinis Martinsons <[email protected]> Co-authored-by: Chris Maree <[email protected]> Co-authored-by: Reinis Martinsons <[email protected]>
This implements removing enabled deposit route check in SVM, same as for EVM in #926